package com.work.xxzl.mvp.base;

import android.os.Bundle;

import com.work.xxzl.base.BaseFragment;

/**
 * author: Wangzhan
 * date :2018/9/17 0017 16:16
 * version:2.0.0
 * description:- BaseMVPActivity
 * 在视图层中我们不难发现，在该模式下的activity/fragment中都会有对应presenter的引用，通过该引用设置view层接口。
 * 这一块转个方向也是可以抽取封装的，同样用泛型代替
 */

public abstract class BaseMVPFragment<V, T extends BaseMVPPresenter<V>> extends BaseFragment {
    public abstract T initPresenter();

    public T myPresenter;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        myPresenter = initPresenter();
    }


    @Override
    public void onResume() {
        super.onResume();
        myPresenter.attach((V) this);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        myPresenter.detach();
    }
}
